package com.yan.test.work.testpaging3.net;

import android.util.Log;


/**
 * Log日志
 * Created by Robin on 15/6/27.
 */
public class L {

    private static boolean isWriteLog = true;

    /**
     *
     */
    /**
     * 设置是否输入日志，全局有效
     *
     * @Author   Jian
     * @Time     2016/11/28 19:59
     * @param isWriteLog true输出 false 不输出
     */
    public static void setIsWriteLog(boolean isWriteLog) {
        L.isWriteLog = isWriteLog;
    }

    // Log.d()
    public static void d(String msg) {
        d(L.class, msg);
    }

    public static void d(Object msg) {
        d(L.class, msg);
    }

    public static void d(Class<?> tag, String msg) {
        d(tag.getSimpleName(), msg);
    }

    public static void d(Class<?> tag, Object msg) {
        if (msg == null) {
            d(tag.getSimpleName(), null);
        }
        d(tag.getSimpleName(), msg.toString());
    }

    public static void d(String tag, String msg) {
        if (msg == null) {
            msg = "log信息为：null";
        }
        if (isWriteLog) {
            Log.d(tag, msg);
        }
    }

    // Log.e()
    public static void e(String msg) {
        e(L.class, msg);
    }

    public static void e(Object msg) {
        e(L.class, msg);
    }

    public static void e(Class<?> tag, String msg) {
        e(tag.getSimpleName(), msg);
    }

    public static void e(Class<?> tag, Object msg) {
        if (msg == null) {
            e(tag.getSimpleName(), null,null);
        }
        e(tag.getSimpleName(), msg.toString());
    }

    public static void e(String tag, String msg) {
        if (msg == null) {
            msg = "log信息为：null";
        }
        Log.e(tag, msg);
    }

    public static void e(String msg ,Throwable e){
        e(L.class , msg , e);
    }

    public static void e(String tag, String msg ,Throwable e) {
        if (msg == null) {
            msg = "log信息为：null";
        }
        Log.e(tag, msg , e);
    }

    public static void e(Class<?> tag, String msg ,Throwable e) {
        if (msg == null) {
            msg = "log信息为：null";
        }
        Log.e(tag.getSimpleName(), msg , e);
    }

    // L.i()
    public static void i(String msg) {
        i(L.class, msg);
    }

    public static void i(Object msg) {
        i(L.class, msg);
    }

    public static void i(Class<?> tag, String msg) {
        i(tag.getSimpleName(), msg);
    }

    public static void i(Class<?> tag, Object msg) {
        if (msg == null) {
            i(tag.getSimpleName(), null);
        }
        i(tag.getSimpleName(), msg.toString());
    }

    public static void i(String tag, String msg) {
        if (msg == null) {
            msg = "log信息为：null";
        }
        if (isWriteLog) {
            Log.i(tag, msg);
        }
    }

//    L.v
    public static void v(String msg) {
        v(L.class, msg);
    }

    public static void v(Object msg) {
        v(L.class, msg);
    }

    public static void v(Class<?> tag, String msg) {
        v(tag.getSimpleName(), msg);
    }

    public static void v(Class<?> tag, Object msg) {
        if (msg == null) {
            v(tag.getSimpleName(), null);
        }
        v(tag.getSimpleName(), msg.toString());
    }

    public static void v(String tag, String msg) {
        if (msg == null) {
            msg = "log信息为：null";
        }
        if (isWriteLog) {
            Log.v(tag, msg);
        }
    }

    // Log.w()
    public static void w(String msg) {
        w(L.class, msg);
    }

    public static void w(Object msg) {
        w(L.class, msg);
    }

    public static void w(Class<?> tag, String msg) {
        w(tag.getSimpleName(), msg);
    }

    public static void w(Class<?> tag, Object msg) {
        if (msg == null) {
            w(tag.getSimpleName(), null);
        }
        w(tag.getSimpleName(), msg.toString());
    }

    public static void w(String tag, String msg) {
        if (msg == null) {
            msg = "log信息为：null";
        }
        if (isWriteLog) {
            Log.w(tag, msg);
        }
    }

}
